Position determination of mobile objects

ABSTRACT

An apparatus, method and computer program is described comprising: determining that a first mobile object requires positioning assistance based on one or more predetermined criteria, wherein the predetermined criteria includes whether one or more properties of a planned or predicted future position of the first mobile object have been identified as insufficient, or are predicted as being insufficient, for determining the position of the first mobile object with a required level of accuracy; and responsive to said determination, causing deployment of one or more movable devices (e.g. UAVs) to a target position for providing the required positioning assistance to said first mobile object.

FIELD

Example embodiments relate to systems, methods and computer programs forposition determination of mobile objects.

BACKGROUND

The use of Global Navigation Satellite System (GNSS) and LTE positioningtechniques for determining at least the approximate positions of objectsis known. However, in certain real-world scenarios, such as when anobject is moving in a crowded real-world space comprising tall ordensely-arranged objects, such as buildings or shipping containers, itmay not be possible to obtain data for determining an accurate position.This may be due to the received signals being inaccurate due toenvironmental and/or multipath effects and/or due to their being withoutline-of-sight to GNSS satellites or LTE base stations. Taking theexample of a modern or even futuristic shipping port, mobile objectssuch as people and vehicles may need to move around infrastructure thatcomprises fixed and sometimes movable objects, e.g. large cranes andshipping containers. The landscape may change quite quickly over time.There is a need to know where people and/or vehicles are, or areplanning to be, in relation to such other objects in order for theshipping port to operate safely and efficiently.

SUMMARY

The scope of protection sought for various embodiments of the inventionis set out by the independent claims The embodiments and features, ifany, described in this specification that do not fall under the scope ofthe independent claims are to be interpreted as examples useful forunderstanding various embodiments of the invention.

In a first aspect, this specification describes an apparatus, comprisingmeans for: determining that a first mobile object (e.g. a harbourworker, harbour machinery or vehicle on the ground) requires positioningassistance based on one or more pre-determined criteria, wherein thepre-determined criteria includes whether one or more properties of aplanned or predicted future position of the first mobile object havebeen identified as insufficient, or are predicted as being insufficient,for determining the position of the first mobile object with a requiredlevel of accuracy; responsive to said determination, causing deploymentof one or more movable devices to a target position for providing therequired positioning assistance to said first mobile object. One or moreof the one or more movable devices may be unmanned aerial vehicles.

Some embodiments further comprise means for determining a required levelof accuracy of the first mobile object based on its type or its currentapplication.

The planned or predicted future position of the first mobile object maybe determined based on the current position of the first mobile objectand one or more prior locations of the first mobile object.

Further, the planned or predicted future position of the first mobileobject may be determined using a machine learning model that is trainedto predict future positions based on a predetermined set of priorlocations.

The planned or predicted future position of the first mobile object maybe determined based on a predetermined route or waypoint plan for themobile object.

In some embodiments, pre-provided data derived from a test journey madein advance by a movable device (e.g. an unmanned aerial vehicle) tosubstantially the same position may be used in the event that theplanned or predicted future position has been identified as insufficientor is predicted as being insufficient.

The one or more criteria may further determine whether one or moreproperties of the planned or predicted future position is/areinsufficient, based on estimating, over time, a level of uncertainty inthat future position and identifying said planned or predicted futureposition as being insufficient if the uncertainty level approaches orexceeds a predetermined uncertainty threshold. The level of uncertaintymay, for example, be determined using Kalman filtering. The data onlevel of uncertainty may be acquired (at least in part) usingpre-provided data derived from a test journey made in advance by amovable device (e.g. an unmanned aerial vehicle) to substantially thesame position (e.g. the same, or approximately the same, planned orpredicted future position).

The one or more criteria may further comprise determining whether aplanned or predicted future position of the first mobile object has aline-of-sight (LOS) to one or more remote base stations and/orsatellites from which its position can be derived (and, for example,determining the position as insufficient if there is non-line of sight(NLOS)). The planned or predicted future position may be determined ashaving a LOS or NLOS state using pre-provided data derived from a testjourney made in advance by a movable device (e.g. an unmanned aerialvehicle) to substantially the same position.

The one or more criteria may further comprise determining whetherlocation history data of the first mobile object correspond to positionestimates in high accuracy or low accuracy conditions.

Some embodiments further comprise means for accessing data representinga model of an environment in which the first mobile object is tooperate, the model storing data representing a 3D terrain of theenvironment and, for each of a plurality of spatial points within the 3Dterrain, one or more updatable values indicative of whether locationassistance is required at that spatial point.

The determining means may further determine that one or more secondmobile objects (e.g. a harbour worker, harbour machinery or vehicle onthe ground) require positioning assistance based on one or morepredetermined criteria, and responsive to said determination,determining a priority order of the first and the one or more secondmobile object(s) to get assistance by causing deployment of the one ormore movable devices (e.g. one or more unmanned aerial vehicles) torespective target positions according to a schedule.

The said means may comprise: at least one processor; and at least onememory including computer program code, the at least one memory and thecomputer program configured, with the at least one processor, to causethe performance of the apparatus.

In a second aspect, this specification describes a method, comprising:determining that a first mobile object (e.g. a harbour worker, harbourmachinery or vehicle on the ground) requires positioning assistancebased on one or more predetermined criteria, wherein the predeterminedcriteria includes whether one or more properties of a planned orpredicted future position of the first mobile object have beenidentified as insufficient, or are predicted as being insufficient, fordetermining the position of the first mobile object with a requiredlevel of accuracy; responsive to said determination, causing deploymentof one or more movable devices (e.g. one or more unmanned aerialvehicles) to a target position for providing the required positioningassistance to said first mobile object.

Some embodiments further comprise determining a required level ofpositioning accuracy of the first mobile object based on its type or itscurrent application.

The planned or predicted future position of the first mobile object maybe determined based on the current position of the first mobile objectand one or more prior locations of the first mobile object.

Further, the planned or predicted future position of the first mobileobject may be determined using a machine learning model that is trainedto predict future positions based on a predetermined set of priorlocations.

The planned or predicted future position of the first mobile object maybe determined based on a predetermined route or waypoint plan for themobile object.

Some embodiments may use pre-provided data derived from a test journeymade in advance by a movable device to substantially the same positionin the event that the planned or predicted future position has beenidentified as insufficient or is predicted as being insufficient.

The one or more criteria may further determine or predict the planned orpredicted future position to be insufficient based on estimating, overtime, a level of uncertainty in that future position and identifyingsaid planned or predicted future position as being insufficient if theuncertainty level approaches or exceeds a predetermined uncertaintythreshold. The level of uncertainty may, for example, be determinedusing Kalman filtering. The data on level of uncertainty may be acquiredusing pre-provided data derived from a test journey made in advance by amovable device (e.g. an unmanned aerial vehicle) to substantially thesame position (e.g. the same, or approximately the same, planned orpredicted future position).

The one or more criteria may further comprise determining whether aplanned or predicted future position of the first mobile object has aline-of-sight (LOS) to one or more remote base stations and/orsatellites from which its position can be derived (and, for example,determining the position as insufficient if there is non-line-of-sight(NLOS)). The planned or predicted future position may be determined ashaving a LOS or NLOS state using pre-provided data derived from a testjourney made in advance by a movable device (e.g. an unmanned aerialvehicle) to substantially the same position.

The method may further comprise accessing data representing a model ofan environment in which the first mobile object is to operate, the modelstoring data representing a 3D terrain of the environment and, for eachof a plurality of spatial points within the 3D terrain, one or moreupdatable values indicative of whether location assistance is requiredat that spatial point.

The method may further comprise determining that one or more secondmobile objects (e.g. a harbour worker, harbour machinery or vehicle onthe ground) require positioning assistance based on one or morepredetermined criteria, and responsive to said determination,determining a priority order of the first and the one or more secondmobile object(s) to get assistance by causing deployment of the one ormore movable devices (e.g. one or more unmanned aerial vehicles) torespective target positions according to a schedule.

In a third aspect, this specification describes an apparatus, comprisingat least one processor, at least one memory directly connected to the atleast one processor, the at least one memory including computer programcode, and the at least one processor, with the at least one memory andthe computer program code being arranged to perform any method asdescribed with reference to the second aspect.

In a fourth aspect, this specification describes an apparatus configuredto perform any method as described with reference to the second aspect.

In a fifth aspect, this specification describes computer-readableinstructions which, when executed by computing apparatus, cause thecomputing apparatus to perform any method as described with reference tothe second aspect.

In a sixth aspect, this specification describes a computer readablemedium comprising program instructions stored thereon for performing atleast the following: determining that a first mobile object (e.g. aharbour worker, harbour machinery or vehicle on the ground) requirespositioning assistance based on one or more predetermined criteria,wherein the predetermined criteria includes whether one or moreproperties of a planned or predicted future position of the first mobileobject have been identified as insufficient, or are predicted as beinginsufficient, for determining the position of the first mobile objectwith a required level of accuracy; responsive to said determination,causing deployment of one or more movable devices (e.g. one or moreunmanned aerial vehicles) to a target position for providing therequired positioning assistance to said first mobile object.

In a seventh aspect, this specification describes a computer programcomprising instructions for causing an apparatus to perform at least thefollowing: determining that a first mobile object (e.g. a harbourworker, harbour machinery or vehicle on the ground) requires positioningassistance based on one or more predetermined criteria, wherein thepredetermined criteria includes whether one or more properties of aplanned or predicted future position of the first mobile object havebeen identified as insufficient, or are predicted as being insufficient,for determining the position of the first mobile object with a requiredlevel of accuracy; responsive to said determination, causing deploymentof one or more movable devices (e.g. one or more unmanned aerialvehicles) to a target position for providing the required positioningassistance to said first mobile object.

In an eighth aspect, this specification describes an apparatuscomprising: at least one processor; and at least one memory includingcomputer program code which, when executed by the at least oneprocessor, causes the apparatus to: determine that a first mobile object(e.g. a harbour worker, harbour machinery or vehicle on the ground)requires positioning assistance based on one or more predeterminedcriteria, wherein the predetermined criteria includes whether one ormore properties of a planned or predicted future position of the firstmobile object have been identified as insufficient, or are predicted asbeing insufficient, for determining the position of the first mobileobject with a required level of accuracy; responsive to saiddetermination, cause deployment of one or more movable devices (e.g. oneor more unmanned aerial vehicles) to a target position for providing therequired positioning assistance to said first mobile object.

In an ninth aspect, this specification describes an apparatuscomprising: a control system configured to determine that a first mobileobject (e.g. a harbour worker, harbour machinery or vehicle on theground) requires positioning assistance based on one or morepredetermined criteria, wherein the predetermined criteria includeswhether one or more properties of a planned or predicted future positionof the first mobile object have been identified as insufficient, or arepredicted as being insufficient, for determining the position of thefirst mobile object with a required level of accuracy; wherein thecontrol system in further configured, responsive to said determination,to cause deployment of one or more movable devices (e.g. one or moreunmanned aerial vehicles) to a target position for providing therequired positioning assistance to said first mobile object.

BRIEF DESCRIPTION OF DRAWINGS

Example embodiments will now be described, by way of non-limitingexample, with reference to the accompanying drawings, in which:

FIG. 1 shows an environment in accordance with example embodiments;

FIG. 2 shows a high-level architecture for a system according to exampleembodiments;

FIGS. 3 to 10 are flow charts showing algorithms in accordance withexample embodiments;

FIG. 11 shows an apparatus according to an example embodiment; and

FIG. 12 shows a non-transitory media according to some embodiments.

DETAILED DESCRIPTION

The following abbreviations may be referred to herein:

AoA Angle of Arrival;

BLER Block Error Rate;

BS Base Station;

gNB Next Generation NodeB;

GNSS Global Navigation Satellite System;

IRU Inertial Reference Unit

LOS Line-Of-Sight;

ML Machine Learning;

NLOS Non-Line-Of-Sight;

QR Quick Response;

NR New Radio;

RFID Radio Frequency Identification;

RTK Real-Time Kinematic;

SINR Signal-to-Interference plus Noise Ratio;

TDoA Time Difference of Arrival;

ToA Time of Arrival;

TRP Transmission/Reception Point;

UAV Unmanned Aerial Vehicle;

UE User Equipment; and

5G 5^(th) Generation.

Example embodiments relate to the tracking of mobile objects in areal-world environment. Mobile objects can be of any suitable type andmay for example comprise portable devices carried by a person or mountedon a vehicle. The portable devices are presumed to have some form ofsensor or sensors for determining position, e.g. receivers for receivingsignals from which a geographic position can be determined or at leastestimated. For example, the portable device may have one or more of aGNSS receiver, a LTE receiver, an Inertial Reference Unit (IRU) and areal-time kinematics (RTK) module. It will be appreciated that a GNSSsystem enables position determination based on receiving signals from aplurality of orbiting satellites. It will also be appreciated thatportable devices may derive an estimate of their position via signalsreceived at an LTE receiver from one or more base stations. Positionaldata can be sent over a data link to other systems that need to know theposition of the mobile object. In addition, the portable device may beequipped with a system to transmit a signal which can be used todetermine the position of the device on the infrastructure side.

FIG. 1, by way of example, shows an environment 100 comprising someobjects, including a plurality of stacked containers 110 and a crane120. The environment 100 may represent part of a shipping port withinwhich personnel 130 and/or vehicles 140 may regularly move. Over time,the containers 110 and crane 120 may also move in accordance with thenormal operation of the shipping port (or other environment). Theenvironment 100 therefore provides a changeable physical domain in whichmobile objects or entities, such as the personnel 130 and/or vehicles140, need to be tracked for various reasons. Such objects may be termed‘target objects’ hereafter. Reasons for accurate tracking may be safetyand/or operational reasons. Target objects may experience signalblockage and/or interference to the extent that positional accuracycannot be guaranteed. These positions may be termed “dead zones.”

Typically, personnel 130 and/or vehicles 140 will carry a portabledevice, as mentioned above, capable of data communications and positiondetermination using one or more sensors. The position determination maybe fed back to a central reporting system. Such portable devices maycomprise one or more of a mobile telephone, a smart watch, a dedicatedGNSS receiver, a laptop, a digital assistant etc. Taking the example ofa mobile telephone, it may comprise a communications interface, such asfor one of the LTE or NR standards, e.g. 4G or 5G, and one or moresensors such as a GNSS receiver for receiving positioning signals from aplurality of GNSS satellites 150 and/or an LTE or NR receiver from whichthe approximate position from a plurality of LTE or NR base stations 160may be derived. In some embodiments, differential correction may beemployed to correct inaccuracies inherent in the GNSS and/or LTEpositioning systems, using data from a reference receiver 180 at a fixedand precisely-known location. Other means of determining position mayinclude an IRU and/or RTK module.

Positional data from the personnel 130 and/or vehicles 140 may be fed tothe central reporting system via one or more base stations 160. Thecentral reporting system may be located in the cloud 170.

Example embodiments appreciate the need to cater for such environments100 to ensure that it is possible to localize mobile objects as theymove over time with a required level of accuracy. In an environment suchas that of FIG. 1, relatively high accuracy may be needed to avoidcollisions and the potential for injury or long system downtimes.

Example embodiments may involve causing deployment of one or moreunmanned aerial vehicles (UAVs) 190 (or some other movable device) toprovide positional assistance to the one or more mobile objects in casethey are within, approaching, or predicted to be within, a dead zone.Example embodiments are also concerned with when to deploy the one ormore UAVs 190, as it is possible that only a limited number of UAVs maybe available at a given time and there may be a need to prioritise howthese are deployed according to a schedule.

Prioritising may be based on the type of mobile object and/or theapplication it is involved in. One or more prioritisation rules maydetermine a level of importance associated with different mobile objectsand/or applications. For example, a member of personnel may beconsidered a higher priority than a vehicle. For example, a vehicleinvolved in a mission critical task may be considered a higher prioritythan a vehicle involved in a more general task.

A UAV 190 is sometimes called a drone. A UAV 190 may comprise ahelicopter-like device, comprising one or more propellers, able to flyremotely or autonomously. UAVs 190 may comprise a source of power,provided usually by one or more rechargeable batteries, and may need toreturn to a base docking station to recharge their batteries and/or toreturn to a predetermined position for re-calibration or updating ofsoftware. UAVs may be issued with positional data, which may comprise aflight plan. The flight plan may define a target position, i.e. wherethe UAV 190 is to fly to, where it may then stay until commanded home,until a predetermined time period has lapsed, and/or until the batteriesreach a certain depletion level. The flight plan may define a flightpath, i.e. a general 3D path it follows to reach a destination or tofollow until one of the above “return home” conditions is or aredetected. UAVs 190 may determine their own position using an on-boardGNSS or LTE receiver, or similar, in much the same way as mobile devicescan determine their own position.

Example embodiments may make use of the fact that UAVs 190 can fly topositions well-above built-up terrain, in an environment that reduces orprevents mobile objects “on the ground” getting accurate positioningsignals. UAVs 190 can therefore provide assistance data in determining amore accurate position of one or more mobile objects on the ground.

The position of each of one or more UAVs 190 can be determined with avery high accuracy due, for example, to the line-of-sight “connection”with multiple satellites. At the same time, one or more UAVs will haveline-of-sight “connection” with the relevant object (e.g. personnel 130or vehicle 140). With knowledge of both the position of a particular UAVand the estimated relative position of the UAV and the relevant object,the position of the object can be estimated with some accuracy.

In principle, in the event that there are multiple UAVs, it is possiblethat UAVs may act as GNSS satellites.

FIG. 2 shows a high-level architecture for a system according to exampleembodiments. It comprises a control system 200, a database 202, a flightplanner 203, one or more location registers 204, and one or more basestations 205 having respective antennas 206. The system may communicatewith one or more UAVs 190 for providing to the control system 200,likely via one or more of the base stations 205 (or by any othersuitable means) assistance data for accurately positioning mobiledevices on the ground.

The control system 200 is akin to the central reporting system mentionedabove. The control system 200 may comprise one or more computing devicescomprised of one or more processors or controllers and associated RAMand memory, acting as a central unit for communication with othercomponents. Although shown directly connected to certain components inFIG. 1, the control system 200 may be in communication via wirelessinterfaces and/or through a network such as the Internet. For example,the control system 200 is shown connected to one or more base stations205 via a network 210.

The database 202 may provide an up-to-date 3D model of thethree-dimensional (3D) environment with respect to differentcharacteristics or attributes. The database 202 may be of any suitabletype and may, for example, provide parameters characterising, for eachof a plurality of different 3D spatial points of the environment, one ormore of:

-   -   the object at said point, e.g. container; crane; object to        track; free space;    -   link quality at said point, e.g. positioning covariance; and    -   line of sight (LOS) or non-line of sight (NLOS) state.

The database 202 effectively stores a data structure enabling thecontrol system 200 or associated software to know what object(s) arelocated at a given point, and the link quality and LOS/NLOS status.

The flight planner 203 may be any computerised system for programmingone or more UAVs 190 with one or more of destination coordinates andflight paths. The flight planner 203 may communicate with a particularUAV 190 via a wired link, e.g. to a docking station that the UAV returnsto periodically, and/or via a wireless link directly to the UAV. Thecommunications may be made via the control system 200.

The one or more location registers 204 may comprise one or more memoriesfor storing an up-to-date position of one or more of the objects to betracked, e.g. smartphones held or carried by personnel 130 or vehicles140. The one or more location registers 204 may store historicalpositions of said objects to be tracked, e.g. reflecting a finitehistorical representation of where they have moved and are currentlylocated. The one or more location registers 204 may also store anup-to-date position of one or more of the UAVs 190 and, similarly, afinite historical representation of where they have been and arecurrently located.

Such positional information may be provided from the UAVs 190 to the oneor more location registers 204, via the one or more base stations 205and the control system 200.

The one or more base stations 205 may comprise any type of base station,for example ones operating according to any LTE or NR standard (e.g.3G/4G/5G) and may be used also in any future standard.

For example, the base stations 205 may comprise eNBs or gNBs. In someembodiments, the one or more base stations 205 may also include WiFibase stations or hubs.

There may also be provided a register for each of the structural“assets” within the environment 100, for example the size, footprint andtype of non-tracked objects, such as the containers 110 and/or the crane120. The position of any moving part of the crane 120 and/or theposition of given containers 110, may also be tracked and stored within,for example, the database 202, to give an up-to-date picture of saidassets and where they are.

FIG. 3 is a flow graph describing a generalized process according tosome example embodiments. The process may be performed in hardware,software or a combination thereof. For example, the control system 200shown in FIG. 2 may operate according to the FIG. 3 process.

A first operation S301 may comprise determining whether a mobile objectk requires positioning assistance based on one or more predeterminedcriteria.

If not, a second operation S302 may comprise obtaining the next mobileobject k=k+1, if one exists, and returning to operation S301.

If in the first operation S301 it is determined that positioningassistance is required, a third operation S303 may comprise deploying,or causing deployment of, one or more UAVs to a target position forproviding required positioning assistance to the mobile object.

In this embodiment, therefore, there is described a generalized methodfor deploying, or causing deployment, of one or more mobile objects. Theone or more criteria may comprise criteria based on whether or not thetarget position of the mobile object k, is considered to be insufficientto enable determination of the object's position with a required levelof accuracy (or the predicted target position is predicted to beinsufficient to enable determination of the object's position with arequired level of accuracy). Furthermore, the determination may relateto whether one or more properties of the target position are appropriateor predicted to be insufficient. For example, it may comprisedetermining if the target position is in a dead zone or is approaching adead zone. In this case, the one or more properties may relate to theability of the mobile object to determine its own position usingexternal signals.

FIG. 4 is a flow chart describing a further generalized processaccording to some example embodiments. The process may be performed inhardware, software or a combination thereof. For example, the controlsystem 200 shown in FIG. 2 may operate according to the FIG. 4 process.In this flow chart, it is assumed that there are two or more objects Kand at least two predetermined criteria to determine sufficiency orinsufficiency of the target position for a required positioningaccuracy.

In a first operation S401, the next mobile object k is selected.

In a second operation S402, it is determined if the mobile object krequires positioning assistance based on a first criterion. If so, thenin an operation 5404, the mobile object k may be added to a list and theprocess may return to S401. If not, then the process may move to a thirdoperation S403.

In the third operation S403, it may be determined if the mobile object krequires positioning assistance based on a further criterion. Again, ifso, then in an operation S405, the mobile object k may be added to theabove-mentioned list and the process may return to the operation S401.If not, then the process may return to the operation S401, without themobile object k being added to the list.

Back at operation S401, the next mobile object k=k+1 is selected and theprocess repeats until all mobile objects have been tested, i.e. k=K. Theresult is a list of all mobile objects that require positioningassistance, and in an operation S406, one or more UAVs may be deployed,or are caused to be deployed, to provide the required positioningassistance for each.

It should be noted that the deployment of an assisting UAV does notnecessarily need to be done only after all K mobile objects have beentested. For example, once an object k has been added to the list ofobjections that require positioning assistance, the relevant UAVdeployment may be started.

Note that, in some cases, one UAV 190 may be able to provide positioningassistance for a plurality of mobile objects. In some cases, more thanone UAV may be required to provide positioning assistance for one or aplurality of mobile objects. In some cases, there may be a greaternumber of mobile objects requiring positioning assistance than there areavailable UAVs 190, in which case a schedule may be built in order toprioritize which UAVs to send to assist which mobile objects.

As mentioned previously, prioritization may be based on prioritizationrules that may take into account the type of mobile object and/or theirassociated application.

FIG. 5 is a flow chart describing a more detailed process according tosome example embodiments, giving examples of different criteria to beapplied and the source data that may be used in said determinations. Forexample, the control system 200 shown in FIG. 2 may operate according tothe

FIG. 5 process. The criteria shown are given merely by way of example,and different criteria may be used in any combination or sequence.

As with FIG. 4, the control system 200 performs a process that loopsover a set of mobile objects that need tracking and determines if aspecific object needs positioning assistance, i.e. UAV localizationassistance.

In an initial operation S501, a target object k to be tracked isselected from the list of mobile objects to be tracked, and theoperation is repeated for subsequent iterations until the end of thelist is reached.

In an operation S502, it is determined if the target object k is headingto a location identified as needing localization assistance. Thisdetermination may be based on a set of data 510 that may include acurrent location estimate of the target object k, taken from thelocation registers 204, information regarding the path/waypoint plan ofthe target object k, and information on the positioning accuracyrequirements of the target object k.

Regarding the information about the path/waypoint plan of the targetobject k, it may be that the destination of the target object is notknown, but can be predicted based on any stored data, such as based onthe trajectory taken over a finite time period (e.g. over the past fiveminutes), on the trajectory taken at the same time in a previous day, orusing a prediction from a machine learning (ML) model that is trained topredict future positions based on a predetermined set of priorlocations.

If localization assistance is needed, the process moves to operation5503 in which the target object k is added to a list of objectsrequiring localization assistance.

If not, the process moves to operation S504 in which another criterionis used. In this example, it is determined if the uncertainty level ofposition estimates associated with the target object k approach orexceed a given threshold. This determination may be based on a set ofdata 520 that may include a current uncertainty level of the positionestimate and a threshold value. This criterion may therefore reflect thecurrent, or real-time state of the target object k, whereby decreasedlocalization accuracy has been detected. Uncertainty levels may bedetermined using mathematical algorithms, such as by Kalman filtering,which can provide estimates of target object locations and the level ofuncertainty in them. The threshold may be dynamically adjusted based onthe type of target object and/or the application involved.

If localization assistance is needed, the process moves to operation5505 in which the target object k is added to a list of objectsrequiring localization assistance.

If not, the process moves to operation 5506 in which another criterionis used. In this example, it is determined if the target object k isheading to a location which has an increased probability for requiringlocalization assistance. This determination may be based on a set ofdata 530 that may include the LOS/NLOS state from the 3D model in thedatabase 202. The set of data 530 may, for example include a currentlocation of the target object k (taken from the location registers 204)and information regarding the path/waypoint plan of the target object k.

If localization assistance is needed, the process moves to operationS507 in which the target object k is added to a list of objectsrequiring localization assistance.

The process returns then to the initial step S501 where the next targetobject k=k+1 is considered until the end of the list is reached. Theresulting list of mobile objects that require localization assistancecan then be allocated a required number of UAVs for deployment, and/orscheduling of available UAVs based on prioritization rules.

Regarding required positioning accuracy, this may be device orapplication dependent. For example, if the mobile object k is a personinvolved in a mission-critical task, such as stacking containers, thenan increased positioning accuracy may be set and hence the criteria maybe more stringent compared with, for example, performing a securitypatrol.

Regarding how to determine various parameters such as the link qualityand LOS/NLOS state for the various spatial points in the environment100, for storage in the 3D model of the database 202, one or morereconnaissance or test flights may be performed by one or more UAVs 190under the control of the control system 200.

FIG. 6 is a flow chart describing signaling between, and processes at,different entities shown in FIG. 2, according to some exampleembodiments relating to reconnaissance or test flights. The controlsystem 200 may configure one or more UAVs 190 in accordance with theprocedure below.

The control system 200 may issue to the flight planner 203 a pathplanning request for a positioning accuracy measurement flight 601. Inthis respect, the control system 200 may determine one or more areaswhere localization accuracy measurements are required, e.g. based on (i)a current lack of positioning accuracy information for these areas, (ii)outdated information, or (iii) that there have been significant changesin the environment in these areas.

The flight planner 203 may respond with one or more planned path reports602 to the control system 200, providing information on the plannedroutes of one or more UAVs 190.

The control system 200 may then issue configuration data 603 to one ormore UAVs 190 for one or more measurement flights based on the one ormore planned path reports.

A command and control signal 604 may be sent also to one or more basestations 205 for orchestrating reconnaissance UAV flights, which arehandled by signals 605.

In the case of network-centric cellular based localization, the processmay include, for example:

-   -   UAVs 190 transmitting uplink Sounding Reference Signals (SRS) or        Positioning Reference Signals (PRS);    -   base stations 205 performing ToA/TDoA/AoA-based position        estimation based on signals transmitted by UAVs.

In the case of UE-centric cellular based localization, the process mayinclude, for example:

-   -   base stations 205 transmitting Synchronization Signal Block        (SSB) or Positioning Reference Signals (PRS);    -   UAVs 190 performing ToA/TDoA/AoA -based position estimation        based on signals transmitted by the base stations.

In the case of satellite-based localization (such as using GNSS orRTK-GNSS), the process may include, for example:

-   -   UAVs 190 estimating their position utilizing an on-board GNSS        receiver.

Different combinations of above localization methods may be used todetermine the position estimates at different measurement points.

In signals 606, the assisting UAVs 190 may report UE-centric positionestimates (typically including data on the level of uncertainty) to thecontrol system 200. The signals 606 between UAVs 190 and the controlsystem 200 could, for example, be represented alternatively to comprisetwo steps: i) signaling from the UAVs 190 to base stations 205 followedby ii) signaling from base stations 205 to the control system 200.

In signals 607, the base stations 205 may report network-centricposition estimates (typically including data on the level ofuncertainty) to the control system 200.

In the situation that multiple positioning techniques have been used,the control system 200 may apply data fusion to derive final positionestimates.

At process 608, the control system 200 may evaluate the level of errorsat the location estimates with respect to pre-defined and knownmeasurement positions.

At process 609, the control system 200 may classify the differentmeasurement positions, utilizing information on the requiredlocalization accuracy, to positions that do not meet the accuracyrequirement. These positions may consequently be associated with thelabel “needs localization assistance” or similar, and positions thatfulfil the accuracy requirement may be labelled “localization assistanceis not needed” or similar.

FIG. 7 is a flow chart describing signaling between, and processes at,different entities shown in FIG. 2, according to some exampleembodiments relating to reconnaissance or test flights. The controlsystem 200 may configure one or more UAVs 190 in accordance with theprocedure below. FIG. 8 is an associated flow chart describing signalingbetween, and processes at, different entities shown in FIG. 2, accordingto some example embodiments relating to maintaining positioning linkquality metrics of the 3D model stored in the database 202.

In FIG. 7, data acquired by different sensors integrated on raised orflying structures, such as on one or more base stations 205, cranes 120and/or UAVs 190 may be used to detect, identify and characterize orlabel different physical objects within the environment for updating the3D model in the database 202.

For example, sensor data may be acquired in a general operation 702,comprising a combination of one or more of the following:

-   -   video data from on-board cameras of one or more base stations        205, cranes 120 and/or UAVs 190;    -   laser and/or LIDAR measurement data from one or more base        stations 205, cranes 120 and/or UAVs 190;    -   identities of detected objects (e.g. based on RFID readings by        UAVs 190 or other moving measurement vehicles), with relative        position information with respect to the detected objects.

In a process 704, the control system 200 may determine appropriatelabels. This may employ logic (e.g. an algorithm) at the control system200 which recognizes one or more of object types (e.g. a shippingcontainer, harbor vehicle, harbor worker, crane) and estimates the sizeand relative position in the coordinate system of the measuring camera.Laser-based distance measurements may be used to estimate distancemeasurements from UAVs 190 flying over containers 140, for example, fordetermining the number of containers stacked on top of each other, basedon information on UAV altitude, and container height information. Thecontrol system 200 may also perform object recognition based on visualmarkers including, e.g., QR tags and/or RFID tags. A detailed objectinformation query may be sent to a database based on the detected objectidentifier. Position estimate data may be obtained from the locationregisters 204. In a general operation 706, label data may be updated inthe 3D model in the database 202 for such ‘points of interest’.

FIG. 9 is a flow chart describing operations relating to determiningwhether or not there is a LOS link between a target object and specificpositioning anchor. The control system 200 may configure one or moreUAVs 190 in accordance with the procedure below.

An algorithm run by the control system 200 may use information onpositions, spatial orientations and azimuth/elevation angle ranges ofpositioning anchors and one or more target objects, as well as the 3Dmodel in the database 202. As mentioned, the 3D model may compriseinformation e.g. on placement and classification of physical objectsdetected in the environment 100. Note that the process shown in FIG. 7can be used to define the LOS/NLOS state of any 3D point of interest byforming a virtual vector between the coordinates of a 3D point ofinterest (in practice those corresponding to areas where the targetobject can move) and the coordinates of the positioning anchor. Thealgorithm performed by the control system 200 may then determine whetherthe state corresponds to “LOS” if, according to the 3D model data, thereis or are no blocking obstacles between the start and the end points ofthe vector. Otherwise the state of the 3D point of interest is labeledas “NLOS.”

A first operation S901 may comprise selecting a positioning anchor ifrom a list, until the end of the list.

A second operation S902 may comprise determining a LOS condition orstate between the positioning anchor i and the target object. This maytake information from a dataset 910, which may comprise (as indicated bythe data set 910):

-   -   position, spatial orientation, azimuth/elevation angle, range        capability of positioning anchor;    -   position, spatial orientation, azimuth/elevation angle, range        capability of target object antenna array;    -   3D model of environment 100.

A third operation S903 may comprise recording the LOS/NLOS state andstoring or updating the 3D model in the database 202. The thirdoperation 5903 may, for example, output a 3D map of the area.

FIG. 10 is a flow chart describing operations relating to determiningwhether or not localization assistance is needed utilizing machinelearning (ML)-based classification of a collected set of time-seriesdata representing position estimates of a given target object k.

The idea is that a neural network is pre-trained with time-seriesposition estimates, representing different conditions, such as:

-   -   location estimates from target objects in non-obstructed, LOS        conditions;    -   location estimates from target objects in obstructed, NLOS        conditions,        the estimates covering different types of target objects with        different speeds (within their representative speed ranges.)

Such training data can be collected from field tests in the targetedenvironment 100.

During real-time operation, the time-labelled historical location andspeed estimates of a target object k, is fetched from the database 202.The pre-trained ML algorithm is then applied to classify whether thefetched time-series data more likely represents reliable, high-accuracyposition estimates, or unreliable, low-accuracy position estimates.

For decision making, the ML algorithm may utilize, as side information,the knowledge of the type of the target object and the correspondingmotion model.

A target object k is added to a list of objects requiring localizationassistance if the ML based classification algorithm, run by the controlsystem 200, indicates the unreliable low-accuracy positioning state.

A first operation S1001 may comprise selecting a target object k from alist, until the end of the list.

A second operation S1002 may comprise analyzing whether time-labelledlocation history data for the target object k corresponds to positionestimates in high accuracy/LOS or low accuracy/NLOS conditions.

A third operation S1004 may comprise determining if a low accuracy/NLOScondition is detected and the positioning error exceeds a threshold. Ifso, the target object k is added to a list of objects requiringlocalization assistance in an operation S1006. If not, the processreturns to operation S1001.

Information used in the second operation S1002 may comprise a data set1200 comprising:

-   -   time-labelled location and speed estimate history data for        object k; type of target object;    -   a movement model corresponding to the type of target object;    -   reference time-series location data (ML based) corresponding to        the movement model in LOS conditions;    -   reference time-series location data (ML) corresponding to        movement model in NLOS conditions.

FIG. 11 shows an apparatus according to an embodiment. The apparatus maybe configured to perform the operations described herein, for exampleoperations described with reference to any preceding process. Theapparatus comprises at least one processor 1100 and at least one memory1110 directly or closely connected to the processor. The memory 1110includes at least one random access memory (RAM) 1110 a and at least oneread-only memory (ROM) 1110 b. Computer program code (software) 1115 isstored in the ROM 1110 b. The apparatus may be connected to a TX pathand a RX path of a base station or a UAV in order to obtain respectivesignals. However, in some embodiments, the TX signals and RX signals areinput as data streams into the apparatus. The apparatus may be connectedwith a user interface (UI) for instructing the apparatus and/or foroutputting results. However, instead of by a UI, the instructions may beinput e.g. from a batch file, and the output may be stored in anon-volatile memory. The at least one processor 1100, with the at leastone memory 1110 and the computer program code 1115 are arranged to causethe apparatus to at least perform at least the method according to anypreceding process.

FIG. 12 shows a non-transitory media 1230 according to some embodiments.The non-transitory media 1230 is a computer readable storage medium. Itmay be e.g. a CD, a DVD, a USB stick, a blue ray disk, etc. Thenon-transitory media 1230 stores computer program code causing anapparatus to perform the method of any preceding process.

Names of network elements, protocols, and methods are based on currentstandards. In other versions or other technologies, the names of thesenetwork elements and/or protocols and/or methods may be different, aslong as they provide a corresponding functionality. For example,embodiments may be deployed in 2G/3G/4G/5G networks and furthergenerations of 3GPP but also in non-3GPP radio networks such as WiFi.Accordingly, a base station may be a BTS, a NodeB, a eNodeB, a WiFiaccess point etc.

A memory may be volatile or non-volatile. It may be e.g. a RAM, a SRAM,a flash memory, a FPGA block ram, a DCD, a CD, a USB stick, and a blueray disk.

If not otherwise stated or otherwise made clear from the context, thestatement that two entities are different means that they performdifferent functions. It does not necessarily mean that they are based ondifferent hardware. That is, each of the entities described in thepresent description may be based on a different hardware, or some or allof the entities may be based on the same hardware. It does notnecessarily mean that they are based on different software. That is,each of the entities described in the present description may be basedon different software, or some or all of the entities may be based onthe same software. Each of the entities described in the presentdescription may be embodied in the cloud.

Implementations of any of the above described blocks, apparatuses,systems, techniques or methods include, as non-limiting examples,implementations as hardware, software, firmware, special purposecircuits or logic, general purpose hardware or controller or othercomputing devices, or some combination thereof. Some embodiments may beimplemented in the cloud.

It is to be understood that what is described above is what is presentlyconsidered the preferred embodiments. However, it should be noted thatthe description of the preferred embodiments is given by way of exampleonly and that various modifications may be made without departing fromthe scope as defined by the appended claims.

1. An apparatus comprising: at least one processor; and at least onememory including computer program code which, when executed by the atleast one processor, causes the apparatus: to determine that a firstmobile object requires positioning assistance based on one or morepredetermined criteria, wherein the predetermined criteria compriseswhether one or more properties of a planned or predicted future positionof the first mobile object have been identified as insufficient, or arepredicted as being insufficient, for determining the position of thefirst mobile object with a required level of accuracy; responsive tosaid determination, to cause deployment of one or more movable devicesto a target position for providing the required positioning assistanceto said first mobile object.
 2. The apparatus of claim 1, wherein one ormore of the one or more movable devices is/are unmanned aerial vehicles.3. The apparatus of claim 1, further comprising: to determine a requiredlevel of accuracy of the first mobile object based on its type or itscurrent application.
 4. The apparatus of claim 1, wherein the planned orpredicted future position of the first mobile object is determined basedon the current position of the first mobile object and one or more priorlocations of the first mobile object.
 5. The apparatus of claim 4,wherein the planned or predicted future position of the first mobileobject is determined using a machine learning model that is trained topredict future positions based on a predetermined set of priorlocations.
 6. The apparatus of claim 1, wherein the planned or predictedfuture position of the first mobile object is determined based on apredetermined route or waypoint plan for the mobile object.
 7. Theapparatus of claim 1, wherein the planned or predicted future positionis identified as insufficient, or is predicted as being insufficient,using pre-provided data derived from a test journey made in advance by amovable device to substantially the same position.
 8. The apparatus ofclaim 1, wherein the one or more criteria further determines whether oneor more properties of the planned or predicted future position areinsufficient, based on estimating, over time, a level of uncertainty inthat future position and identifying said planned or predicted futureposition as being insufficient if the uncertainty level approaches orexceeds a predetermined uncertainty threshold.
 9. The apparatus of claim8, wherein the level of uncertainty is determined using Kalmanfiltering.
 10. The apparatus of claim 8, wherein the level oruncertainty is acquired using pre-provided data derived from a testjourney made in advance by a movable device to substantially the sameplanned or predicted future position.
 11. The apparatus of claim 1,wherein the one or more criteria further comprises determining whether aplanned or predicted future position of the first mobile object has aline-of-sight (LOS) to one or more remote base stations and/orsatellites from which its position can be derived.
 12. The apparatus ofclaim 11, wherein the planned or predicted future position is determinedas having a LOS or NLOS state using pre-provided data derived from atest journey made in advance by a movable device to substantially thesame position.
 13. The apparatus of claim 1, wherein the one or morecriteria further comprises determining whether location history data ofthe first mobile object correspond to position estimates in highaccuracy or low accuracy conditions.
 14. The apparatus of claim 1,further comprising: to access data representing a model of anenvironment in which the first mobile object is to operate, the modelstoring data representing a 3D terrain of the environment and, for eachof a plurality of spatial points within the 3D terrain, one or moreupdatable values indicative of whether location assistance is requiredat that spatial point.
 15. The apparatus of claim 1 further comprising:to determine that one or more second mobile objects require positioningassistance based on one or more predetermined criteria, and responsiveto said determination, determining a priority order of the first and theone or more second mobile object(s) to get assistance by causingdeployment of the one or more movable devices to respective targetpositions according to a schedule.
 16. A method, comprising: determiningthat a first mobile object requires positioning assistance based on oneor more predetermined criteria, wherein the predetermined criteriacomprises whether one or more properties of a planned or predictedfuture position of the first mobile object have been identified asinsufficient, or are predicted as being insufficient, for determiningthe position of the first mobile object with a required level ofaccuracy; responsive to said determination, causing deployment of one ormore movable devices to a target position for providing the requiredpositioning assistance to said first mobile object.
 17. The method ofclaim 16, further comprising determining a required level of positioningaccuracy of the first mobile object based on its type or its currentapplication.
 18. The method of claim 16, wherein the planned orpredicted future position of the first mobile object is determined basedon the current position of the first mobile object and one or more priorlocations of the first mobile object.
 19. The method of claim 18,wherein the planned or predicted future position of the first mobileobject is determined using a machine learning model that is trained topredict future positions based on a predetermined set of priorlocations.
 20. A non-transitory computer readable medium comprisingprogram instructions stored thereon for performing a method, comprising:determining that a first mobile object requires positioning assistancebased on one or more predetermined criteria, wherein the predeterminedcriteria comprises whether one or more properties of a planned orpredicted future position of the first mobile object have beenidentified as insufficient, or are predicted as being insufficient, fordetermining the position of the first mobile object with a requiredlevel of accuracy; responsive to said determination, causing deploymentof one or more movable devices to a target position for providing therequired positioning assistance to said first mobile object.